from django.db.models import Model
from typing import List, Generic, Tuple


class RestFrameWorkModelSerializerTyping:
    '''
    restframework ModelSerializer 字段
    '''
    model: Model
    fields: List[str]
    exclude: List[str]
    depth: int
    read_only_fields: List[str]
    extra_kwargs: List[str]
    write_only_fields: List[str]
    list_serializer_class: List[str]


class DjangoModelTyping:
    abstract: str
    app_label: str
    db_table: str
    db_teblespace: str
    get_latest_by: str
    managed: bool
    order_with_respect_to: Model
    ordering: Generic
    permissions: Tuple[Tuple[str, str]]
    default_permissions: Tuple[Tuple[str, str]]
    proxy: bool
    unique_together: Tuple
    verbose_name: str
    verbose_name_plural: str
